Teleological Modeling and Reasoning for Automated Software Adaptations
نویسندگان
چکیده
The design of a long-living software artifact evolves through many versions. Changes in the design requirements from one version to the next typically are incremental and sometimes quite small (deltas). A software engineer (or a team of software engineers) formulates the requirements of a new version, adapts the design of the previous versions to meet the new requirements, implements and evaluates the modified design. Of course, the ordering of these tasks is not necessarily linear; the design requirements, for example, may evolve during the design episode, and if the proposed design fails in the evaluation task, it may need to be redesigned. Thus, adaptive design includes both proactive adaptation (adapting a design to meet new requirements) and retrospective adaptation (redesigning a proposed design). AI research on conceptual design of physical devices has revealed the central role that teleological knowledge and reasoning play in automated adaptive design [1] [2] [3] [4] [5] [6] [7] [8]: (i) a declarative teleological model of a physical device that explicitly captures the teleological relationships among the structure, behaviors and functions of its design enables localization of the modifications needed to the structure to achieve new functions, and (ii) the ontology of teleological models provides a vocabulary for classifying, representing, indexing and accessing specific design cases, generic adaptation plans, primitive design components, and abstract design patterns. In analogy to physical devices, we view software artifacts as abstract devices, i.e., as abstract teleological artifacts with structures and behaviors that result in the accomplishment of desired functions [9] [10] [11] [12] [13]. Recent AI research on self-adaptation in software agents makes a further analogy between adaptive design of physical and software devices [14] [15] [16] [17] [11] [18] [19] [20]. This leads to our research hypothesis: function and teleology are basic organizational principles of adaptive software design.
منابع مشابه
Case-based adaptation of workflows
This paper presents on a Case-based Reasoning approach for automated workflow adaptation by reuse of experience. Agile workflow technology allows structural adaptations of workflow instances at build time or at run time. The approach supports the expert in performing such adaptations by an automated method. The method employs workflow adaptation cases that record adaptation episodes from the pa...
متن کاملFormalizing UML for Rigorous Software Development
Formalizing a modeling technique broaches issues including development of software specification, design, analysis, and synthesis. Software engineering methodologies should be grounded on rigorous principles and not on ad hoc approaches. Our approach is to integrate the recently published industrial standard graphic notation UML (Unified Modeling Language), for object-oriented modeling, and PVS...
متن کاملReasoning with Constrained Goal Models
Goal models have been widely used in Computer Science to represent software requirements, business objectives, and design qualities. Existing goal modeling techniques, however, have shown limitations of expressiveness and/or tractability in coping with complex real-world problems. In this work we exploit advances in automated reasoning technologies, notably SMT solvers, to propose and formalize...
متن کاملStructure, Behavior and Function of Complex Systems: The SBF Modeling Language
Teleological modeling is fundamental to understanding and explaining many complex systems, especially engineered systems. Research on engineering design and problem solving has developed several ontologies for expressing teleology, e.g., FR, FBS, and SBF. In this paper, we view SBF as a programming language. SBF models of engineering systems have been used in several computer programs for autom...
متن کاملAn Ontology for Agent-based Modeling and Simulation
Ontologies are a formal methodology for establishing a common vocabulary, for defining the concepts and relationships between those concepts of a particular domain, and for reasoning about the objects, behaviors, and knowledge that comprises the domain. In this paper, we present an ontology for agent-based modeling and simulation. Agent-based modeling and simulation has become an important and ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007